package com.osce.interfaces.go_score;

import com.baomidou.mybatisplus.extension.service.IService;
import com.csce.domain.entity.go_score.GoScoreExamStudent;

import java.util.List;

/**
 * 妇产科考试考场-学生Service接口
 *
 * @author ruoyi
 * @since 2024-05-17
 */
public interface IGoScoreExamStudentService extends IService<GoScoreExamStudent> {

    /**
     * 查询妇产科考试考场-学生
     *
     * @param id 妇产科考试考场-学生主键
     * @return 妇产科考试考场-学生
     */
    GoScoreExamStudent selectGoScoreExamStudentById(Long id);

    /**
     * 查询妇产科考试考场-学生列表
     *
     * @param goScoreExamStudent 妇产科考试考场-学生
     * @return 妇产科考试考场-学生集合
     */
    List<GoScoreExamStudent> selectGoScoreExamStudentList(GoScoreExamStudent goScoreExamStudent);

    List<GoScoreExamStudent> selectGoScoreExamStudentByExamId(Long examId);


    /**
     * 新增妇产科考试考场-学生
     *
     * @param goScoreExamStudent 妇产科考试考场-学生
     * @return 结果
     */
    int insertGoScoreExamStudent(GoScoreExamStudent goScoreExamStudent);

    /**
     * 修改妇产科考试考场-学生
     *
     * @param goScoreExamStudent 妇产科考试考场-学生
     * @return 结果
     */
    int updateGoScoreExamStudent(GoScoreExamStudent goScoreExamStudent);

    /**
     * 批量删除妇产科考试考场-学生
     *
     * @param ids 需要删除的妇产科考试考场-学生主键集合
     * @return 结果
     */
    int deleteGoScoreExamStudentByIds(Long[] ids);

    /**
     * 删除妇产科考试考场-学生信息
     *
     * @param id 妇产科考试考场-学生主键
     * @return 结果
     */
    int deleteGoScoreExamStudentById(Long id);

    /**
     * 批量删除妇产科考试考场-学生
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteGoScoreExamStudentByExamPlaceIds(Long[] ids);

    /**
     * 通过妇产科考试-考场主键删除妇产科考试考场-学生信息
     *
     * @param id 妇产科考试-考场ID
     * @return 结果
     */
    int deleteGoScoreExamStudentByExamPlaceId(Long id);

    /**
     * 批量删除妇产科考试考场-学生
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteGoScoreExamStudentByExamIds(Long[] ids);

    /**
     * 通过妇产科考试-考场主键删除妇产科考试考场-学生信息
     *
     * @param id 妇产科考试-考场ID
     * @return 结果
     */
    int deleteGoScoreExamStudentByExamId(Long id);

    /**
     * 批量新增妇产科考试考场-学生
     *
     * @param goScoreExamStudentList 妇产科考试考场-学生列表
     * @return 结果
     */
    int batchInsertGoScoreExamStudent(Long examId, Long examPlaceId,List<GoScoreExamStudent> goScoreExamStudentList);

}
